﻿/**
 * Realiza acciones básicas esperadas sobre campos de texto.
 * Redifunde el mismo evento con el target modificado para comodidad del usuario.
 */
class ControladorCampoBasico {
	private static var listener:Object;
	
	public static function aplicar(receptor:Object):Void {
			if(listener==null || listener==undefined) {
				listener = new Object();
				listener.setFocus = function(evt:Object):Void {
					evt.target = evt.target._parent;
					evt.target.encender();
					evt.target.dispatchEvent(evt);
				}
				
				
				listener.killFocus = function(evt:Object):Void {
					evt.target = evt.target._parent;
					evt.target.apagar();
					evt.target.dispatchEvent(evt);
				}
		
				listener.changed = function (evt:Object):Void {
					evt.target = evt.target._parent;
					evt.target.dispatchEvent(evt);
				}
			}
		
			receptor.addEventListener("setFocus", listener);
			receptor.addEventListener("killFocus", listener);
			receptor.addEventListener("changed", listener);
	}
}